Data.Text.ICU.Char

text-icu-0.7.0.1: Bindings to the ICU library

Copyright | (c) 2010 Bryan O'Sullivan
License | BSD-style
Maintainer | bos@serpentine.com
Stability | experimental
Portability | GHC
Safe Haskell | None
Language | Haskell98

Data.Text.ICU.Char

Contents

- Working with character properties
- Property identifier types
  - Combining class
  - Normalization checking
  - Text boundaries
- Property value types
  - Text boundaries
- Functions
  - Conversion to numbers

Description

Access to the Unicode Character Database, implemented as bindings to the International Components for Unicode (ICU) libraries.

Unicode assigns each code point (not just assigned character) values for many properties. Most are simple boolean flags, or constants from a small enumerated list. For some, values are relatively more complex types.

For more information see "About the Unicode Character Database" http://www.unicode.org/ucd/ and the ICU User Guide chapter on Properties http://icu-project.org/userguide/properties.html.

Synopsis

- class Property p v | p -> v
- data BidiClass_ = BidiClass
- data Block_ = Block
- data Bool_
  - = Alphabetic
  - | ASCIIHexDigit
  - | BidiControl
  - | BidiMirrored
  - | Dash
  - | DefaultIgnorable
  - | Deprecated
  - | Diacritic
  - | Extender
  - | FullCompositionExclusion
  - | GraphemeBase
  - | GraphemeExtend
  - | GraphemeLink
  - | HexDigit
  - | Hyphen
  - | IDContinue
  - | IDStart
  - | Ideographic
  - | IDSBinaryOperator
  - | IDSTrinaryOperator
  - | JoinControl
  - | LogicalOrderException
  - | Lowercase
  - | Math
  - | NonCharacter
  - | QuotationMark
  - | Radical
  - | SoftDotted
  - | TerminalPunctuation
  - | UnifiedIdeograph
  - | Uppercase
  - | WhiteSpace
  - | XidContinue
  - | XidStart
  - | CaseSensitive
  - | STerm
  - | VariationSelector
  - | NFDInert
  - | NFKDInert
  - | NFCInert
  - | NFKCInert
  - | SegmentStarter
  - | PatternSyntax
  - | PatternWhiteSpace
  - | POSIXAlNum
  - | POSIXBlank
  - | POSIXGraph
  - | POSIXPrint
  - | POSIXXDigit
- data Decomposition_ = Decomposition
- data EastAsianWidth_ = EastAsianWidth
- data GeneralCategory_ = GeneralCategory
- data HangulSyllableType_ = HangulSyllableType
- data JoiningGroup_ = JoiningGroup
- data JoiningType_ = JoiningType
- data NumericType_ = NumericType
- data CanonicalCombiningClass_ = CanonicalCombiningClass
- data LeadCanonicalCombiningClass_ = LeadCanonicalCombiningClass
- data TrailingCanonicalCombiningClass_ = TrailingCanonicalCombiningClass
- data NFCQuickCheck_ = NFCQuickCheck
- data NFDQuickCheck_ = NFDQuickCheck
- data NFKCQuickCheck_ = NFKCQuickCheck
- data NFKDQuickCheck_ = NFKDQuickCheck
- data GraphemeClusterBreak_ = GraphemeClusterBreak
- data LineBreak_ = LineBreak
- data SentenceBreak_ = SentenceBreak
- data WordBreak_ = WordBreak
- data BlockCode
  - = NoBlock
  - | BasicLatin
  - | Latin1Supplement
  - | LatinExtendedA
  - | LatinExtendedB
  - | IPAExtensions
  - | SpacingModifierLetters
  - | CombiningDiacriticalMarks
  - | GreekAndCoptic
  - | Cyrillic
  - | Armenian
  - | Hebrew
  - | Arabic
  - | Syriac
  - | Thaana
  - | Devanagari
  - | Bengali
  - | Gurmukhi
  - | Gujarati
  - | Oriya
  - | Tamil
  - | Telugu
  - | Kannada
  - | Malayalam
  - | Sinhala
  - | Thai
  - | Lao
  - | Tibetan
  - | Myanmar
  - | Georgian
  - | HangulJamo
  - | Ethiopic
  - | Cherokee
  - | UnifiedCanadianAboriginalSyllabics
  - | Ogham
  - | Runic
  - | Khmer
  - | Mongolian
  - | LatinExtendedAdditional
  - | GreekExtended
  - | GeneralPunctuation
  - | SuperscriptsAndSubscripts
  - | CurrencySymbols
  - | CombiningDiacriticalMarksForSymbols
  - | LetterlikeSymbols
  - | NumberForms
  - | Arrows
  - | MathematicalOperators
  - | MiscellaneousTechnical
  - | ControlPictures
  - | OpticalCharacterRecognition
  - | EnclosedAlphanumerics
  - | BoxDrawing
  - | BlockElements
  - | GeometricShapes
  - | MiscellaneousSymbols
  - | Dingbats
  - | BraillePatterns
  - | CJKRadicalsSupplement
  - | KangxiRadicals
  - | IdeographicDescriptionCharacters
  - | CJKSymbolsAndPunctuation
  - | Hiragana
  - | Katakana
  - | Bopomofo
  - | HangulCompatibilityJamo
  - | Kanbun
  - | BopomofoExtended
  - | EnclosedCJKLettersAndMonths
  - | CJKCompatibility
  - | CJKUnifiedIdeographsExtensionA
  - | CJKUnifiedIdeographs
  - | YiSyllables
  - | YiRadicals
  - | HangulSyllables
  - | HighSurrogates
  - | HighPrivateUseSurrogates
  - | LowSurrogates
  - | PrivateUseArea
  - | CJKCompatibilityIdeographs
  - | AlphabeticPresentationForms
  - | ArabicPresentationFormsA
  - | CombiningHalfMarks
  - | CJKCompatibilityForms
  - | SmallFormVariants
  - | ArabicPresentationFormsB
  - | Specials
  - | HalfwidthAndFullwidthForms
  - | OldItalic
  - | Gothic
  - | Deseret
  - | ByzantineMusicalSymbols
  - | MusicalSymbols
  - | MathematicalAlphanumericSymbols
  - | CJKUnifiedIdeographsExtensionB
  - | CJKCompatibilityIdeographsSupplement
  - | Tags
  - | CyrillicSupplement
  - | Tagalog
  - | Hanunoo
  - | Buhid
  - | Tagbanwa
  - | MiscellaneousMathematicalSymbolsA
  - | SupplementalArrowsA
  - | SupplementalArrowsB
  - | MiscellaneousMathematicalSymbolsB
  - | SupplementalMathematicalOperators
  - | KatakanaPhoneticExtensions
  - | VariationSelectors
  - | SupplementaryPrivateUseAreaA
  - | SupplementaryPrivateUseAreaB
  - | Limbu
  - | TaiLe
  - | KhmerSymbols
  - | PhoneticExtensions
  - | MiscellaneousSymbolsAndArrows
  - | YijingHexagramSymbols
  - | LinearBSyllabary
  - | LinearBIdeograms
  - | AegeanNumbers
  - | Ugaritic
  - | Shavian
  - | Osmanya
  - | CypriotSyllabary
  - | TaiXuanJingSymbols
  - | VariationSelectorsSupplement
  - | AncientGreekMusicalNotation
  - | AncientGreekNumbers
  - | ArabicSupplement
  - | Buginese
  - | CJKStrokes
  - | CombiningDiacriticalMarksSupplement
  - | Coptic
  - | EthiopicExtended
  - | EthiopicSupplement
  - | GeorgianSupplement
  - | Glagolitic
  - | Kharoshthi
  - | ModifierToneLetters
  - | NewTaiLue
  - | OldPersian
  - | PhoneticExtensionsSupplement
  - | SupplementalPunctuation
  - | SylotiNagri
  - | Tifinagh
  - | VerticalForms
  - | N'Ko
  - | Balinese
  - | LatinExtendedC
  - | LatinExtendedD
  - | PhagsPa
  - | Phoenician
  - | Cuneiform
  - | CuneiformNumbersAndPunctuation
  - | CountingRodNumerals
  - | Sundanese
  - | Lepcha
  - | OlChiki
  - | CyrillicExtendedA
  - | Vai
  - | CyrillicExtendedB
  - | Saurashtra
  - | KayahLi
  - | Rejang
  - | Cham
  - | AncientSymbols
  - | PhaistosDisc
  - | Lycian
  - | Carian
  - | Lydian
  - | MahjongTiles
  - | DominoTiles
  - | Samaritan
  - | UnifiedCanadianAboriginalSyllabicsExtended
  - | TaiTham
  - | VedicExtensions
  - | Lisu
  - | Bamum
  - | CommonIndicNumberForms
  - | DevanagariExtended
  - | HangulJamoExtendedA
  - | Javanese
  - | MyanmarExtendedA
  - | TaiViet
  - | MeeteiMayek
  - | HangulJamoExtendedB
  - | ImperialAramaic
  - | OldSouthArabian
  - | Avestan
  - | InscriptionalParthian
  - | InscriptionalPahlavi
  - | OldTurkic
  - | RumiNumeralSymbols
  - | Kaithi
  - | EgyptianHieroglyphs
  - | EnclosedAlphanumericSupplement
  - | EnclosedIdeographicSupplement
  - | CJKUnifiedIdeographsExtensionC
  - | Mandaic
  - | Batak
  - | EthiopicExtendedA
  - | Brahmi
  - | BamumSupplement
  - | KanaSupplement
  - | PlayingCards
  - | MiscellaneousSymbolsAndPictographs
  - | Emoticons
  - | TransportAndMapSymbols
  - | AlchemicalSymbols
  - | CJKUnifiedIdeographsExtensionD
  - | ArabicExtendedA
  - | ArabicMathematicalAlphabeticSymbols
  - | Chakma
  - | MeeteiMayekExtensions
  - | MeroiticCursive
  - | MeroiticHieroglyphs
  - | Miao
  - | Sharada
  - | SoraSompeng
  - | SundaneseSupplement
  - | Takri
- data Direction
  - = LeftToRight
  - | RightToLeft
  - | EuropeanNumber
  - | EuropeanNumberSeparator
  - | EuropeanNumberTerminator
  - | ArabicNumber
  - | CommonNumberSeparator
  - | BlockSeparator
  - | SegmentSeparator
  - | WhiteSpaceNeutral
  - | OtherNeutral
  - | LeftToRightEmbedding
  - | LeftToRightOverride
  - | RightToLeftArabic
  - | RightToLeftEmbedding
  - | RightToLeftOverride
  - | PopDirectionalFormat
  - | DirNonSpacingMark
  - | BoundaryNeutral
- data Decomposition
  - = Canonical
  - | Compat
  - | Circle
  - | Final
  - | Font
  - | Fraction
  - | Initial
  - | Isolated
  - | Medial
  - | Narrow
  - | NoBreak
  - | Small
  - | Square
  - | Sub
  - | Super
  - | Vertical
  - | Wide
  - | Count
- data EastAsianWidth
  - = EANeutral
  - | EAAmbiguous
  - | EAHalf
  - | EAFull
  - | EANarrow
  - | EAWide
  - | EACount
- data GeneralCategory
  - = GeneralOtherType
  - | UppercaseLetter
  - | LowercaseLetter
  - | TitlecaseLetter
  - | ModifierLetter
  - | OtherLetter
  - | NonSpacingMark
  - | EnclosingMark
  - | CombiningSpacingMark
  - | DecimalDigitNumber
  - | LetterNumber
  - | OtherNumber
  - | SpaceSeparator
  - | LineSeparator
  - | ParagraphSeparator
  - | ControlChar
  - | FormatChar
  - | PrivateUseChar
  - | Surrogate
  - | DashPunctuation
  - | StartPunctuation
  - | EndPunctuation
  - | ConnectorPunctuation
  - | OtherPunctuation
  - | MathSymbol
  - | CurrencySymbol
  - | ModifierSymbol
  - | OtherSymbol
  - | InitialPunctuation
  - | FinalPunctuation
- data HangulSyllableType
  - = LeadingJamo
  - | VowelJamo
  - | TrailingJamo
  - | LVSyllable
  - | LVTSyllable
- data JoiningGroup
  - = Ain
  - | Alaph
  - | Alef
  - | Beh
  - | Beth
  - | Dal
  - | DalathRish
  - | E
  - | Feh
  - | FinalSemkath
  - | Gaf
  - | Gamal
  - | Hah
  - | HamzaOnHehGoal
  - | He
  - | Heh
  - | HehGoal
  - | Heth
  - | Kaf
  - | Kaph
  - | KnottedHeh
  - | Lam
  - | Lamadh
  - | Meem
  - | Mim
  - | Noon
  - | Nun
  - | Pe
  - | Qaf
  - | Qaph
  - | Reh
  - | ReversedPe
  - | Sad
  - | Sadhe
  - | Seen
  - | Semkath
  - | Shin
  - | SwashKaf
  - | SyriacWaw
  - | Tah
  - | Taw
  - | TehMarbuta
  - | Teth
  - | Waw
  - | Yeh
  - | YehBarree
  - | YehWithTail
  - | Yudh
  - | YudhHe
  - | Zain
  - | Fe
  - | Khaph
  - | Zhain
  - | BurushaskiYehBarree
- data JoiningType
  - = JoinCausing
  - | DualJoining
  - | LeftJoining
  - | RightJoining
  - | Transparent
- data NumericType
  - = NTDecimal
  - | NTDigit
  - | NTNumeric
- data GraphemeClusterBreak
  - = Control
  - | CR
  - | Extend
  - | L
  - | LF
  - | LV
  - | LVT
  - | T
  - | V
  - | SpacingMark
  - | Prepend
- data LineBreak
  - = Ambiguous
  - | LBAlphabetic
  - | BreakBoth
  - | BreakAfter
  - | BreakBefore
  - | MandatoryBreak
  - | ContingentBreak
  - | ClosePunctuation
  - | CombiningMark
  - | CarriageReturn
  - | Exclamation
  - | Glue
  - | LBHyphen
  - | LBIdeographic
  - | Inseparable
  - | InfixNumeric
  - | LineFeed
  - | Nonstarter
  - | Numeric
  - | OpenPunctuation
  - | PostfixNumeric
  - | PrefixNumeric
  - | Quotation
  - | ComplexContext
  - | LBSurrogate
  - | Space
  - | BreakSymbols
  - | Zwspace
  - | NextLine
  - | WordJoiner
  - | H2
  - | H3
  - | JL
  - | JT
  - | JV
- data SentenceBreak
  - = SBATerm
  - | SBClose
  - | SBFormat
  - | SBLower
  - | SBNumeric
  - | SBOLetter
  - | SBSep
  - | SBSP
  - | SBSTerm
  - | SBUpper
  - | SBCR
  - | SBExtend
  - | SBLF
  - | SBSContinue
- data WordBreak
  - = WBALetter
  - | WBFormat
  - | WBKatakana
  - | WBMidLetter
  - | WBMidNum
  - | WBNumeric
  - | WBExtendNumLet
  - | WBCR
  - | WBExtend
  - | WBLF
  - | WBMidNumLet
  - | WBNewline
- blockCode :: Char -> BlockCode
- charFullName :: Char -> String
- charName :: Char -> String
- charFromFullName :: String -> Maybe Char
- charFromName :: String -> Maybe Char
- combiningClass :: Char -> Int
- direction :: Char -> Direction
- property :: Property p v => p -> Char -> v
- isMirrored :: Char -> Bool
- mirror :: Char -> Char
- digitToInt :: Char -> Maybe Int
- numericValue :: Char -> Maybe Double

# Working with character properties

The `property` function provides the main view onto the Unicode Character Database. Because Unicode character properties have a variety of types, the `property` function is polymorphic. The type of its first argument dictates the type of its result, by use of the `Property` typeclass.

For instance, ``property` `Alphabetic`` returns a `Bool`, while ``property` `NFCQuickCheck`` returns a ``Maybe` `Bool``.

class Property p v | p -> v #

Minimal complete definition

fromNative, toUProperty

Instances

Property TrailingCanonicalCombiningClass_ Int # |
Methods fromNative :: TrailingCanonicalCombiningClass_ -> Int32 -> Int toUProperty :: TrailingCanonicalCombiningClass_ -> UProperty
Property LeadCanonicalCombiningClass_ Int # |
Methods fromNative :: LeadCanonicalCombiningClass_ -> Int32 -> Int toUProperty :: LeadCanonicalCombiningClass_ -> UProperty
Property GeneralCategory_ GeneralCategory # |
Methods fromNative :: GeneralCategory_ -> Int32 -> GeneralCategory toUProperty :: GeneralCategory_ -> UProperty
Property EastAsianWidth_ EastAsianWidth # |
Methods fromNative :: EastAsianWidth_ -> Int32 -> EastAsianWidth toUProperty :: EastAsianWidth_ -> UProperty
Property CanonicalCombiningClass_ Int # |
Methods fromNative :: CanonicalCombiningClass_ -> Int32 -> Int toUProperty :: CanonicalCombiningClass_ -> UProperty
Property Block_ BlockCode # |
Methods fromNative :: Block_ -> Int32 -> BlockCode toUProperty :: Block_ -> UProperty
Property BidiClass_ Direction # |
Methods fromNative :: BidiClass_ -> Int32 -> Direction toUProperty :: BidiClass_ -> UProperty
Property Bool_ Bool # |
Methods fromNative :: Bool_ -> Int32 -> Bool toUProperty :: Bool_ -> UProperty
Property WordBreak_ (Maybe WordBreak) # |
Methods fromNative :: WordBreak_ -> Int32 -> Maybe WordBreak toUProperty :: WordBreak_ -> UProperty
Property SentenceBreak_ (Maybe SentenceBreak) # |
Methods fromNative :: SentenceBreak_ -> Int32 -> Maybe SentenceBreak toUProperty :: SentenceBreak_ -> UProperty
Property GraphemeClusterBreak_ (Maybe GraphemeClusterBreak) # |
Methods fromNative :: GraphemeClusterBreak_ -> Int32 -> Maybe GraphemeClusterBreak toUProperty :: GraphemeClusterBreak_ -> UProperty
Property NFKDQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFKDQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFKDQuickCheck_ -> UProperty
Property NFKCQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFKCQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFKCQuickCheck_ -> UProperty
Property NFDQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFDQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFDQuickCheck_ -> UProperty
Property NFCQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFCQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFCQuickCheck_ -> UProperty
Property HangulSyllableType_ (Maybe HangulSyllableType) # |
Methods fromNative :: HangulSyllableType_ -> Int32 -> Maybe HangulSyllableType toUProperty :: HangulSyllableType_ -> UProperty
Property NumericType_ (Maybe NumericType) # |
Methods fromNative :: NumericType_ -> Int32 -> Maybe NumericType toUProperty :: NumericType_ -> UProperty
Property LineBreak_ (Maybe LineBreak) # |
Methods fromNative :: LineBreak_ -> Int32 -> Maybe LineBreak toUProperty :: LineBreak_ -> UProperty
Property JoiningType_ (Maybe JoiningType) # |
Methods fromNative :: JoiningType_ -> Int32 -> Maybe JoiningType toUProperty :: JoiningType_ -> UProperty
Property JoiningGroup_ (Maybe JoiningGroup) # |
Methods fromNative :: JoiningGroup_ -> Int32 -> Maybe JoiningGroup toUProperty :: JoiningGroup_ -> UProperty
Property Decomposition_ (Maybe Decomposition) # |
Methods fromNative :: Decomposition_ -> Int32 -> Maybe Decomposition toUProperty :: Decomposition_ -> UProperty

# Property identifier types

data BidiClass_ #

Constructors

BidiClass |

Instances

Show BidiClass_ # |
Methods showsPrec :: Int -> BidiClass_ -> ShowS # show :: BidiClass_ -> String # showList :: [BidiClass_] -> ShowS #
NFData BidiClass_ # |
Methods rnf :: BidiClass_ -> () #
Property BidiClass_ Direction # |
Methods fromNative :: BidiClass_ -> Int32 -> Direction toUProperty :: BidiClass_ -> UProperty

data Block_ #

Constructors

Block |

Instances

NFData Block_ # |
Methods rnf :: Block_ -> () #
Property Block_ BlockCode # |
Methods fromNative :: Block_ -> Int32 -> BlockCode toUProperty :: Block_ -> UProperty

data Bool_ #

Constructors

Alphabetic |
ASCIIHexDigit | 0-9, A-F, a-f
BidiControl | Format controls which have specific functions in the Bidi Algorithm.
BidiMirrored | Characters that may change display in RTL text.
Dash | Variations of dashes.
DefaultIgnorable | Ignorable in most processing.
Deprecated | The usage of deprecated characters is strongly discouraged.
Diacritic | Characters that linguistically modify the meaning of another character to which they apply.
Extender | Extend the value or shape of a preceding alphabetic character, e.g. length and iteration marks.
FullCompositionExclusion |
GraphemeBase | For programmatic determination of grapheme cluster boundaries.
GraphemeExtend | For programmatic determination of grapheme cluster boundaries.
GraphemeLink | For programmatic determination of grapheme cluster boundaries.
HexDigit | Characters commonly used for hexadecimal numbers.
Hyphen | Dashes used to mark connections between pieces of words, plus the Katakana middle dot.
IDContinue | Characters that can continue an identifier.
IDStart | Characters that can start an identifier.
Ideographic | CJKV ideographs.
IDSBinaryOperator | For programmatic determination of Ideographic Description Sequences.
IDSTrinaryOperator |
JoinControl | Format controls for cursive joining and ligation.
LogicalOrderException | Characters that do not use logical order and require special handling in most processing.
Lowercase |
Math |
NonCharacter | Code points that are explicitly defined as illegal for the encoding of characters.
QuotationMark |
Radical | For programmatic determination of Ideographic Description Sequences.
SoftDotted | Characters with a "soft dot", like i or j. An accent placed on these characters causes the dot to disappear.
TerminalPunctuation | Punctuation characters that generally mark the end of textual units.
UnifiedIdeograph | For programmatic determination of Ideographic Description Sequences.
Uppercase |
WhiteSpace |
XidContinue | `IDContinue` modified to allow closure under normalization forms NFKC and NFKD.
XidStart | `IDStart` modified to allow closure under normalization forms NFKC and NFKD.
CaseSensitive | Either the source of a case mapping or in the target of a case mapping. Not the same as the general category `Cased_Letter`.
STerm | Sentence Terminal. Used in UAX #29: Text Boundaries http://www.unicode.org/reports/tr29/.
VariationSelector | Indicates all those characters that qualify as Variation Selectors. For details on the behavior of these characters, see http://unicode.org/Public/UNIDATA/StandardizedVariants.html and 15.6 Variation Selectors.
NFDInert | ICU-specific property for characters that are inert under NFD, i.e. they do not interact with adjacent characters. Used for example in normalizing transforms in incremental mode to find the boundary of safely normalizable text despite possible text additions.
NFKDInert | ICU-specific property for characters that are inert under NFKD, i.e. they do not interact with adjacent characters.
NFCInert | ICU-specific property for characters that are inert under NFC, i.e. they do not interact with adjacent characters.
NFKCInert | ICU-specific property for characters that are inert under NFKC, i.e. they do not interact with adjacent characters.
SegmentStarter | ICU-specific property for characters that are starters in terms of Unicode normalization and combining character sequences.
PatternSyntax | See UAX #31 Identifier and Pattern Syntax http://www.unicode.org/reports/tr31/.
PatternWhiteSpace | See UAX #31 Identifier and Pattern Syntax http://www.unicode.org/reports/tr31/.
POSIXAlNum | Alphanumeric character class.
POSIXBlank | Blank character class.
POSIXGraph | Graph character class.
POSIXPrint | Printable character class.
POSIXXDigit | Hex digit character class.

Instances

Enum Bool_ # |
Methods succ :: Bool_ -> Bool_ # pred :: Bool_ -> Bool_ # toEnum :: Int -> Bool_ # fromEnum :: Bool_ -> Int # enumFrom :: Bool_ -> [Bool_] # enumFromThen :: Bool_ -> Bool_ -> [Bool_] # enumFromTo :: Bool_ -> Bool_ -> [Bool_] # enumFromThenTo :: Bool_ -> Bool_ -> Bool_ -> [Bool_] #
Eq Bool_ # |
Methods (==) :: Bool_ -> Bool_ -> Bool # (/=) :: Bool_ -> Bool_ -> Bool #
Show Bool_ # |
Methods showsPrec :: Int -> Bool_ -> ShowS # show :: Bool_ -> String # showList :: [Bool_] -> ShowS #
NFData Bool_ # |
Methods rnf :: Bool_ -> () #
Property Bool_ Bool # |
Methods fromNative :: Bool_ -> Int32 -> Bool toUProperty :: Bool_ -> UProperty

data Decomposition_ #

Constructors

Decomposition |

Instances

Show Decomposition_ # |
Methods showsPrec :: Int -> Decomposition_ -> ShowS # show :: Decomposition_ -> String # showList :: [Decomposition_] -> ShowS #
NFData Decomposition_ # |
Methods rnf :: Decomposition_ -> () #
Property Decomposition_ (Maybe Decomposition) # |
Methods fromNative :: Decomposition_ -> Int32 -> Maybe Decomposition toUProperty :: Decomposition_ -> UProperty

data EastAsianWidth_ #

Constructors

EastAsianWidth |

Instances

Show EastAsianWidth_ # |
Methods showsPrec :: Int -> EastAsianWidth_ -> ShowS # show :: EastAsianWidth_ -> String # showList :: [EastAsianWidth_] -> ShowS #
NFData EastAsianWidth_ # |
Methods rnf :: EastAsianWidth_ -> () #
Property EastAsianWidth_ EastAsianWidth # |
Methods fromNative :: EastAsianWidth_ -> Int32 -> EastAsianWidth toUProperty :: EastAsianWidth_ -> UProperty

data GeneralCategory_ #

Constructors

GeneralCategory |

Instances

Show GeneralCategory_ # |
Methods showsPrec :: Int -> GeneralCategory_ -> ShowS # show :: GeneralCategory_ -> String # showList :: [GeneralCategory_] -> ShowS #
NFData GeneralCategory_ # |
Methods rnf :: GeneralCategory_ -> () #
Property GeneralCategory_ GeneralCategory # |
Methods fromNative :: GeneralCategory_ -> Int32 -> GeneralCategory toUProperty :: GeneralCategory_ -> UProperty

data HangulSyllableType_ #

Constructors

HangulSyllableType |

Instances

Show HangulSyllableType_ # |
Methods showsPrec :: Int -> HangulSyllableType_ -> ShowS # show :: HangulSyllableType_ -> String # showList :: [HangulSyllableType_] -> ShowS #
NFData HangulSyllableType_ # |
Methods rnf :: HangulSyllableType_ -> () #
Property HangulSyllableType_ (Maybe HangulSyllableType) # |
Methods fromNative :: HangulSyllableType_ -> Int32 -> Maybe HangulSyllableType toUProperty :: HangulSyllableType_ -> UProperty

data JoiningGroup_ #

Constructors

JoiningGroup |

Instances

Show JoiningGroup_ # |
Methods showsPrec :: Int -> JoiningGroup_ -> ShowS # show :: JoiningGroup_ -> String # showList :: [JoiningGroup_] -> ShowS #
NFData JoiningGroup_ # |
Methods rnf :: JoiningGroup_ -> () #
Property JoiningGroup_ (Maybe JoiningGroup) # |
Methods fromNative :: JoiningGroup_ -> Int32 -> Maybe JoiningGroup toUProperty :: JoiningGroup_ -> UProperty

data JoiningType_ #

Constructors

JoiningType |

Instances

Show JoiningType_ # |
Methods showsPrec :: Int -> JoiningType_ -> ShowS # show :: JoiningType_ -> String # showList :: [JoiningType_] -> ShowS #
NFData JoiningType_ # |
Methods rnf :: JoiningType_ -> () #
Property JoiningType_ (Maybe JoiningType) # |
Methods fromNative :: JoiningType_ -> Int32 -> Maybe JoiningType toUProperty :: JoiningType_ -> UProperty

data NumericType_ #

Constructors

NumericType |

Instances

Show NumericType_ # |
Methods showsPrec :: Int -> NumericType_ -> ShowS # show :: NumericType_ -> String # showList :: [NumericType_] -> ShowS #
NFData NumericType_ # |
Methods rnf :: NumericType_ -> () #
Property NumericType_ (Maybe NumericType) # |
Methods fromNative :: NumericType_ -> Int32 -> Maybe NumericType toUProperty :: NumericType_ -> UProperty

## Combining class

data CanonicalCombiningClass_ #

Constructors

CanonicalCombiningClass |

Instances

Show CanonicalCombiningClass_ # |
Methods showsPrec :: Int -> CanonicalCombiningClass_ -> ShowS # show :: CanonicalCombiningClass_ -> String # showList :: [CanonicalCombiningClass_] -> ShowS #
NFData CanonicalCombiningClass_ # |
Methods rnf :: CanonicalCombiningClass_ -> () #
Property CanonicalCombiningClass_ Int # |
Methods fromNative :: CanonicalCombiningClass_ -> Int32 -> Int toUProperty :: CanonicalCombiningClass_ -> UProperty

data LeadCanonicalCombiningClass_ #

Constructors

LeadCanonicalCombiningClass |

Instances

Show LeadCanonicalCombiningClass_ # |
Methods showsPrec :: Int -> LeadCanonicalCombiningClass_ -> ShowS # show :: LeadCanonicalCombiningClass_ -> String # showList :: [LeadCanonicalCombiningClass_] -> ShowS #
NFData LeadCanonicalCombiningClass_ # |
Methods rnf :: LeadCanonicalCombiningClass_ -> () #
Property LeadCanonicalCombiningClass_ Int # |
Methods fromNative :: LeadCanonicalCombiningClass_ -> Int32 -> Int toUProperty :: LeadCanonicalCombiningClass_ -> UProperty

data TrailingCanonicalCombiningClass_ #

Constructors

TrailingCanonicalCombiningClass |

Instances

Show TrailingCanonicalCombiningClass_ # |
Methods showsPrec :: Int -> TrailingCanonicalCombiningClass_ -> ShowS # show :: TrailingCanonicalCombiningClass_ -> String # showList :: [TrailingCanonicalCombiningClass_] -> ShowS #
NFData TrailingCanonicalCombiningClass_ # |
Methods rnf :: TrailingCanonicalCombiningClass_ -> () #
Property TrailingCanonicalCombiningClass_ Int # |
Methods fromNative :: TrailingCanonicalCombiningClass_ -> Int32 -> Int toUProperty :: TrailingCanonicalCombiningClass_ -> UProperty

## Normalization checking

data NFCQuickCheck_ #

Constructors

NFCQuickCheck |

Instances

Show NFCQuickCheck_ # |
Methods showsPrec :: Int -> NFCQuickCheck_ -> ShowS # show :: NFCQuickCheck_ -> String # showList :: [NFCQuickCheck_] -> ShowS #
NFData NFCQuickCheck_ # |
Methods rnf :: NFCQuickCheck_ -> () #
Property NFCQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFCQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFCQuickCheck_ -> UProperty

data NFDQuickCheck_ #

Constructors

NFDQuickCheck |

Instances

Show NFDQuickCheck_ # |
Methods showsPrec :: Int -> NFDQuickCheck_ -> ShowS # show :: NFDQuickCheck_ -> String # showList :: [NFDQuickCheck_] -> ShowS #
NFData NFDQuickCheck_ # |
Methods rnf :: NFDQuickCheck_ -> () #
Property NFDQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFDQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFDQuickCheck_ -> UProperty

data NFKCQuickCheck_ #

Constructors

NFKCQuickCheck |

Instances

Show NFKCQuickCheck_ # |
Methods showsPrec :: Int -> NFKCQuickCheck_ -> ShowS # show :: NFKCQuickCheck_ -> String # showList :: [NFKCQuickCheck_] -> ShowS #
NFData NFKCQuickCheck_ # |
Methods rnf :: NFKCQuickCheck_ -> () #
Property NFKCQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFKCQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFKCQuickCheck_ -> UProperty

data NFKDQuickCheck_ #

Constructors

NFKDQuickCheck |

Instances

Show NFKDQuickCheck_ # |
Methods showsPrec :: Int -> NFKDQuickCheck_ -> ShowS # show :: NFKDQuickCheck_ -> String # showList :: [NFKDQuickCheck_] -> ShowS #
NFData NFKDQuickCheck_ # |
Methods rnf :: NFKDQuickCheck_ -> () #
Property NFKDQuickCheck_ (Maybe Bool) # |
Methods fromNative :: NFKDQuickCheck_ -> Int32 -> Maybe Bool toUProperty :: NFKDQuickCheck_ -> UProperty

## Text boundaries

data GraphemeClusterBreak_ #

Constructors

GraphemeClusterBreak |

Instances

Show GraphemeClusterBreak_ # |
Methods showsPrec :: Int -> GraphemeClusterBreak_ -> ShowS # show :: GraphemeClusterBreak_ -> String # showList :: [GraphemeClusterBreak_] -> ShowS #
NFData GraphemeClusterBreak_ # |
Methods rnf :: GraphemeClusterBreak_ -> () #
Property GraphemeClusterBreak_ (Maybe GraphemeClusterBreak) # |
Methods fromNative :: GraphemeClusterBreak_ -> Int32 -> Maybe GraphemeClusterBreak toUProperty :: GraphemeClusterBreak_ -> UProperty

data LineBreak_ #

Constructors

LineBreak |

Instances

Show LineBreak_ # |
Methods showsPrec :: Int -> LineBreak_ -> ShowS # show :: LineBreak_ -> String # showList :: [LineBreak_] -> ShowS #
NFData LineBreak_ # |
Methods rnf :: LineBreak_ -> () #
Property LineBreak_ (Maybe LineBreak) # |
Methods fromNative :: LineBreak_ -> Int32 -> Maybe LineBreak toUProperty :: LineBreak_ -> UProperty

data SentenceBreak_ #

Constructors

SentenceBreak |

Instances

Show SentenceBreak_ # |
Methods showsPrec :: Int -> SentenceBreak_ -> ShowS # show :: SentenceBreak_ -> String # showList :: [SentenceBreak_] -> ShowS #
NFData SentenceBreak_ # |
Methods rnf :: SentenceBreak_ -> () #
Property SentenceBreak_ (Maybe SentenceBreak) # |
Methods fromNative :: SentenceBreak_ -> Int32 -> Maybe SentenceBreak toUProperty :: SentenceBreak_ -> UProperty

data WordBreak_ #

Constructors

WordBreak |

Instances

Show WordBreak_ # |
Methods showsPrec :: Int -> WordBreak_ -> ShowS # show :: WordBreak_ -> String # showList :: [WordBreak_] -> ShowS #
NFData WordBreak_ # |
Methods rnf :: WordBreak_ -> () #
Property WordBreak_ (Maybe WordBreak) # |
Methods fromNative :: WordBreak_ -> Int32 -> Maybe WordBreak toUProperty :: WordBreak_ -> UProperty

# Property value types

data BlockCode #

Descriptions of Unicode blocks.

Constructors

NoBlock |
BasicLatin |
Latin1Supplement |
LatinExtendedA |
LatinExtendedB |
IPAExtensions |
SpacingModifierLetters |
CombiningDiacriticalMarks |
GreekAndCoptic |
Cyrillic |
Armenian |
Hebrew |
Arabic |
Syriac |
Thaana |
Devanagari |
Bengali |
Gurmukhi |
Gujarati |
Oriya |
Tamil |
Telugu |
Kannada |
Malayalam |
Sinhala |
Thai |
Lao |
Tibetan |
Myanmar |
Georgian |
HangulJamo |
Ethiopic |
Cherokee |
UnifiedCanadianAboriginalSyllabics |
Ogham |
Runic |
Khmer |
Mongolian |
LatinExtendedAdditional |
GreekExtended |
GeneralPunctuation |
SuperscriptsAndSubscripts |
CurrencySymbols |
CombiningDiacriticalMarksForSymbols |
LetterlikeSymbols |
NumberForms |
Arrows |
MathematicalOperators |
MiscellaneousTechnical |
ControlPictures |
OpticalCharacterRecognition |
EnclosedAlphanumerics |
BoxDrawing |
BlockElements |
GeometricShapes |
MiscellaneousSymbols |
Dingbats |
BraillePatterns |
CJKRadicalsSupplement |
KangxiRadicals |
IdeographicDescriptionCharacters |
CJKSymbolsAndPunctuation |
Hiragana |
Katakana |
Bopomofo |
HangulCompatibilityJamo |
Kanbun |
BopomofoExtended |
EnclosedCJKLettersAndMonths |
CJKCompatibility |
CJKUnifiedIdeographsExtensionA |
CJKUnifiedIdeographs |
YiSyllables |
YiRadicals |
HangulSyllables |
HighSurrogates |
HighPrivateUseSurrogates |
LowSurrogates |
PrivateUseArea |
CJKCompatibilityIdeographs |
AlphabeticPresentationForms |
ArabicPresentationFormsA |
CombiningHalfMarks |
CJKCompatibilityForms |
SmallFormVariants |
ArabicPresentationFormsB |
Specials |
HalfwidthAndFullwidthForms |
OldItalic |
Gothic |
Deseret |
ByzantineMusicalSymbols |
MusicalSymbols |
MathematicalAlphanumericSymbols |
CJKUnifiedIdeographsExtensionB |
CJKCompatibilityIdeographsSupplement |
Tags |
CyrillicSupplement |
Tagalog |
Hanunoo |
Buhid |
Tagbanwa |
MiscellaneousMathematicalSymbolsA |
SupplementalArrowsA |
SupplementalArrowsB |
MiscellaneousMathematicalSymbolsB |
SupplementalMathematicalOperators |
KatakanaPhoneticExtensions |
VariationSelectors |
SupplementaryPrivateUseAreaA |
SupplementaryPrivateUseAreaB |
Limbu |
TaiLe |
KhmerSymbols |
PhoneticExtensions |
MiscellaneousSymbolsAndArrows |
YijingHexagramSymbols |
LinearBSyllabary |
LinearBIdeograms |
AegeanNumbers |
Ugaritic |
Shavian |
Osmanya |
CypriotSyllabary |
TaiXuanJingSymbols |
VariationSelectorsSupplement |
AncientGreekMusicalNotation |
AncientGreekNumbers |
ArabicSupplement |
Buginese |
CJKStrokes |
CombiningDiacriticalMarksSupplement |
Coptic |
EthiopicExtended |
EthiopicSupplement |
GeorgianSupplement |
Glagolitic |
Kharoshthi |
ModifierToneLetters |
NewTaiLue |
OldPersian |
PhoneticExtensionsSupplement |
SupplementalPunctuation |
SylotiNagri |
Tifinagh |
VerticalForms |
N'Ko |
Balinese |
LatinExtendedC |
LatinExtendedD |
PhagsPa |
Phoenician |
Cuneiform |
CuneiformNumbersAndPunctuation |
CountingRodNumerals |
Sundanese |
Lepcha |
OlChiki |
CyrillicExtendedA |
Vai |
CyrillicExtendedB |
Saurashtra |
KayahLi |
Rejang |
Cham |
AncientSymbols |
PhaistosDisc |
Lycian |
Carian |
Lydian |
MahjongTiles |
DominoTiles |
Samaritan |
UnifiedCanadianAboriginalSyllabicsExtended |
TaiTham |
VedicExtensions |
Lisu |
Bamum |
CommonIndicNumberForms |
DevanagariExtended |
HangulJamoExtendedA |
Javanese |
MyanmarExtendedA |
TaiViet |
MeeteiMayek |
HangulJamoExtendedB |
ImperialAramaic |
OldSouthArabian |
Avestan |
InscriptionalParthian |
InscriptionalPahlavi |
OldTurkic |
RumiNumeralSymbols |
Kaithi |
EgyptianHieroglyphs |
EnclosedAlphanumericSupplement |
EnclosedIdeographicSupplement |
CJKUnifiedIdeographsExtensionC |
Mandaic |
Batak |
EthiopicExtendedA |
Brahmi |
BamumSupplement |
KanaSupplement |
PlayingCards |
MiscellaneousSymbolsAndPictographs |
Emoticons |
TransportAndMapSymbols |
AlchemicalSymbols |
CJKUnifiedIdeographsExtensionD |
ArabicExtendedA |
ArabicMathematicalAlphabeticSymbols |
Chakma |
MeeteiMayekExtensions |
MeroiticCursive |
MeroiticHieroglyphs |
Miao |
Sharada |
SoraSompeng |
SundaneseSupplement |
Takri |

Instances

Bounded BlockCode # |
Methods minBound :: BlockCode # maxBound :: BlockCode #
Enum BlockCode # |
Methods succ :: BlockCode -> BlockCode # pred :: BlockCode -> BlockCode # toEnum :: Int -> BlockCode # fromEnum :: BlockCode -> Int # enumFrom :: BlockCode -> [BlockCode] # enumFromThen :: BlockCode -> BlockCode -> [BlockCode] # enumFromTo :: BlockCode -> BlockCode -> [BlockCode] # enumFromThenTo :: BlockCode -> BlockCode -> BlockCode -> [BlockCode] #
Eq BlockCode # |
Methods (==) :: BlockCode -> BlockCode -> Bool # (/=) :: BlockCode -> BlockCode -> Bool #
Show BlockCode # |
Methods showsPrec :: Int -> BlockCode -> ShowS # show :: BlockCode -> String # showList :: [BlockCode] -> ShowS #
NFData BlockCode # |
Methods rnf :: BlockCode -> () #
Property Block_ BlockCode # |
Methods fromNative :: Block_ -> Int32 -> BlockCode toUProperty :: Block_ -> UProperty

data Direction #

The language directional property of a character set.

Constructors

LeftToRight |
RightToLeft |
EuropeanNumber |
EuropeanNumberSeparator |
EuropeanNumberTerminator |
ArabicNumber |
CommonNumberSeparator |
BlockSeparator |
SegmentSeparator |
WhiteSpaceNeutral |
OtherNeutral |
LeftToRightEmbedding |
LeftToRightOverride |
RightToLeftArabic |
RightToLeftEmbedding |
RightToLeftOverride |
PopDirectionalFormat |
DirNonSpacingMark |
BoundaryNeutral |

Instances

Enum Direction # |
Methods succ :: Direction -> Direction # pred :: Direction -> Direction # toEnum :: Int -> Direction # fromEnum :: Direction -> Int # enumFrom :: Direction -> [Direction] # enumFromThen :: Direction -> Direction -> [Direction] # enumFromTo :: Direction -> Direction -> [Direction] # enumFromThenTo :: Direction -> Direction -> Direction -> [Direction] #
Eq Direction # |
Methods (==) :: Direction -> Direction -> Bool # (/=) :: Direction -> Direction -> Bool #
Show Direction # |
Methods showsPrec :: Int -> Direction -> ShowS # show :: Direction -> String # showList :: [Direction] -> ShowS #
NFData Direction # |
Methods rnf :: Direction -> () #
Property BidiClass_ Direction # |
Methods fromNative :: BidiClass_ -> Int32 -> Direction toUProperty :: BidiClass_ -> UProperty

data Decomposition #

Constructors

Canonical |
Compat |
Circle |
Final |
Font |
Fraction |
Initial |
Isolated |
Medial |
Narrow |
NoBreak |
Small |
Square |
Sub |
Super |
Vertical |
Wide |
Count |

Instances

Enum Decomposition # |
Methods succ :: Decomposition -> Decomposition # pred :: Decomposition -> Decomposition # toEnum :: Int -> Decomposition # fromEnum :: Decomposition -> Int # enumFrom :: Decomposition -> [Decomposition] # enumFromThen :: Decomposition -> Decomposition -> [Decomposition] # enumFromTo :: Decomposition -> Decomposition -> [Decomposition] # enumFromThenTo :: Decomposition -> Decomposition -> Decomposition -> [Decomposition] #
Eq Decomposition # |
Methods (==) :: Decomposition -> Decomposition -> Bool # (/=) :: Decomposition -> Decomposition -> Bool #
Show Decomposition # |
Methods showsPrec :: Int -> Decomposition -> ShowS # show :: Decomposition -> String # showList :: [Decomposition] -> ShowS #
NFData Decomposition # |
Methods rnf :: Decomposition -> () #
Property Decomposition_ (Maybe Decomposition) # |
Methods fromNative :: Decomposition_ -> Int32 -> Maybe Decomposition toUProperty :: Decomposition_ -> UProperty

data EastAsianWidth #

Constructors

EANeutral |
EAAmbiguous |
EAHalf |
EAFull |
EANarrow |
EAWide |
EACount |

Instances

Enum EastAsianWidth # |
Methods succ :: EastAsianWidth -> EastAsianWidth # pred :: EastAsianWidth -> EastAsianWidth # toEnum :: Int -> EastAsianWidth # fromEnum :: EastAsianWidth -> Int # enumFrom :: EastAsianWidth -> [EastAsianWidth] # enumFromThen :: EastAsianWidth -> EastAsianWidth -> [EastAsianWidth] # enumFromTo :: EastAsianWidth -> EastAsianWidth -> [EastAsianWidth] # enumFromThenTo :: EastAsianWidth -> EastAsianWidth -> EastAsianWidth -> [EastAsianWidth] #
Eq EastAsianWidth # |
Methods (==) :: EastAsianWidth -> EastAsianWidth -> Bool # (/=) :: EastAsianWidth -> EastAsianWidth -> Bool #
Show EastAsianWidth # |
Methods showsPrec :: Int -> EastAsianWidth -> ShowS # show :: EastAsianWidth -> String # showList :: [EastAsianWidth] -> ShowS #
NFData EastAsianWidth # |
Methods rnf :: EastAsianWidth -> () #
Property EastAsianWidth_ EastAsianWidth # |
Methods fromNative :: EastAsianWidth_ -> Int32 -> EastAsianWidth toUProperty :: EastAsianWidth_ -> UProperty

data GeneralCategory #

Constructors

GeneralOtherType |
UppercaseLetter |
LowercaseLetter |
TitlecaseLetter |
ModifierLetter |
OtherLetter |
NonSpacingMark |
EnclosingMark |
CombiningSpacingMark |
DecimalDigitNumber |
LetterNumber |
OtherNumber |
SpaceSeparator |
LineSeparator |
ParagraphSeparator |
ControlChar |
FormatChar |
PrivateUseChar |
Surrogate |
DashPunctuation |
StartPunctuation |
EndPunctuation |
ConnectorPunctuation |
OtherPunctuation |
MathSymbol |
CurrencySymbol |
ModifierSymbol |
OtherSymbol |
InitialPunctuation |
FinalPunctuation |

Instances

Enum GeneralCategory # |
Methods succ :: GeneralCategory -> GeneralCategory # pred :: GeneralCategory -> GeneralCategory # toEnum :: Int -> GeneralCategory # fromEnum :: GeneralCategory -> Int # enumFrom :: GeneralCategory -> [GeneralCategory] # enumFromThen :: GeneralCategory -> GeneralCategory -> [GeneralCategory] # enumFromTo :: GeneralCategory -> GeneralCategory -> [GeneralCategory] # enumFromThenTo :: GeneralCategory -> GeneralCategory -> GeneralCategory -> [GeneralCategory] #
Eq GeneralCategory # |
Methods (==) :: GeneralCategory -> GeneralCategory -> Bool # (/=) :: GeneralCategory -> GeneralCategory -> Bool #
Show GeneralCategory # |
Methods showsPrec :: Int -> GeneralCategory -> ShowS # show :: GeneralCategory -> String # showList :: [GeneralCategory] -> ShowS #
NFData GeneralCategory # |
Methods rnf :: GeneralCategory -> () #
Property GeneralCategory_ GeneralCategory # |
Methods fromNative :: GeneralCategory_ -> Int32 -> GeneralCategory toUProperty :: GeneralCategory_ -> UProperty

data HangulSyllableType #

Constructors

LeadingJamo |
VowelJamo |
TrailingJamo |
LVSyllable |
LVTSyllable |

Instances

Enum HangulSyllableType # |
Methods succ :: HangulSyllableType -> HangulSyllableType # pred :: HangulSyllableType -> HangulSyllableType # toEnum :: Int -> HangulSyllableType # fromEnum :: HangulSyllableType -> Int # enumFrom :: HangulSyllableType -> [HangulSyllableType] # enumFromThen :: HangulSyllableType -> HangulSyllableType -> [HangulSyllableType] # enumFromTo :: HangulSyllableType -> HangulSyllableType -> [HangulSyllableType] # enumFromThenTo :: HangulSyllableType -> HangulSyllableType -> HangulSyllableType -> [HangulSyllableType] #
Eq HangulSyllableType # |
Methods (==) :: HangulSyllableType -> HangulSyllableType -> Bool # (/=) :: HangulSyllableType -> HangulSyllableType -> Bool #
Show HangulSyllableType # |
Methods showsPrec :: Int -> HangulSyllableType -> ShowS # show :: HangulSyllableType -> String # showList :: [HangulSyllableType] -> ShowS #
NFData HangulSyllableType # |
Methods rnf :: HangulSyllableType -> () #
Property HangulSyllableType_ (Maybe HangulSyllableType) # |
Methods fromNative :: HangulSyllableType_ -> Int32 -> Maybe HangulSyllableType toUProperty :: HangulSyllableType_ -> UProperty

data JoiningGroup #

Constructors

Ain |
Alaph |
Alef |
Beh |
Beth |
Dal |
DalathRish |
E |
Feh |
FinalSemkath |
Gaf |
Gamal |
Hah |
HamzaOnHehGoal |
He |
Heh |
HehGoal |
Heth |
Kaf |
Kaph |
KnottedHeh |
Lam |
Lamadh |
Meem |
Mim |
Noon |
Nun |
Pe |
Qaf |
Qaph |
Reh |
ReversedPe |
Sad |
Sadhe |
Seen |
Semkath |
Shin |
SwashKaf |
SyriacWaw |
Tah |
Taw |
TehMarbuta |
Teth |
Waw |
Yeh |
YehBarree |
YehWithTail |
Yudh |
YudhHe |
Zain |
Fe |
Khaph |
Zhain |
BurushaskiYehBarree |

Instances

Enum JoiningGroup # |
Methods succ :: JoiningGroup -> JoiningGroup # pred :: JoiningGroup -> JoiningGroup # toEnum :: Int -> JoiningGroup # fromEnum :: JoiningGroup -> Int # enumFrom :: JoiningGroup -> [JoiningGroup] # enumFromThen :: JoiningGroup -> JoiningGroup -> [JoiningGroup] # enumFromTo :: JoiningGroup -> JoiningGroup -> [JoiningGroup] # enumFromThenTo :: JoiningGroup -> JoiningGroup -> JoiningGroup -> [JoiningGroup] #
Eq JoiningGroup # |
Methods (==) :: JoiningGroup -> JoiningGroup -> Bool # (/=) :: JoiningGroup -> JoiningGroup -> Bool #
Show JoiningGroup # |
Methods showsPrec :: Int -> JoiningGroup -> ShowS # show :: JoiningGroup -> String # showList :: [JoiningGroup] -> ShowS #
NFData JoiningGroup # |
Methods rnf :: JoiningGroup -> () #
Property JoiningGroup_ (Maybe JoiningGroup) # |
Methods fromNative :: JoiningGroup_ -> Int32 -> Maybe JoiningGroup toUProperty :: JoiningGroup_ -> UProperty

data JoiningType #

Constructors

JoinCausing |
DualJoining |
LeftJoining |
RightJoining |
Transparent |

Instances

Enum JoiningType # |
Methods succ :: JoiningType -> JoiningType # pred :: JoiningType -> JoiningType # toEnum :: Int -> JoiningType # fromEnum :: JoiningType -> Int # enumFrom :: JoiningType -> [JoiningType] # enumFromThen :: JoiningType -> JoiningType -> [JoiningType] # enumFromTo :: JoiningType -> JoiningType -> [JoiningType] # enumFromThenTo :: JoiningType -> JoiningType -> JoiningType -> [JoiningType] #
Eq JoiningType # |
Methods (==) :: JoiningType -> JoiningType -> Bool # (/=) :: JoiningType -> JoiningType -> Bool #
Show JoiningType # |
Methods showsPrec :: Int -> JoiningType -> ShowS # show :: JoiningType -> String # showList :: [JoiningType] -> ShowS #
NFData JoiningType # |
Methods rnf :: JoiningType -> () #
Property JoiningType_ (Maybe JoiningType) # |
Methods fromNative :: JoiningType_ -> Int32 -> Maybe JoiningType toUProperty :: JoiningType_ -> UProperty

data NumericType #

Constructors

NTDecimal |
NTDigit |
NTNumeric |

Instances

Enum NumericType # |
Methods succ :: NumericType -> NumericType # pred :: NumericType -> NumericType # toEnum :: Int -> NumericType # fromEnum :: NumericType -> Int # enumFrom :: NumericType -> [NumericType] # enumFromThen :: NumericType -> NumericType -> [NumericType] # enumFromTo :: NumericType -> NumericType -> [NumericType] # enumFromThenTo :: NumericType -> NumericType -> NumericType -> [NumericType] #
Eq NumericType # |
Methods (==) :: NumericType -> NumericType -> Bool # (/=) :: NumericType -> NumericType -> Bool #
Show NumericType # |
Methods showsPrec :: Int -> NumericType -> ShowS # show :: NumericType -> String # showList :: [NumericType] -> ShowS #
NFData NumericType # |
Methods rnf :: NumericType -> () #
Property NumericType_ (Maybe NumericType) # |
Methods fromNative :: NumericType_ -> Int32 -> Maybe NumericType toUProperty :: NumericType_ -> UProperty

## Text boundaries

data GraphemeClusterBreak #

Constructors

Control |
CR |
Extend |
L |
LF |
LV |
LVT |
T |
V |
SpacingMark |
Prepend |

Instances

Enum GraphemeClusterBreak # |
Methods succ :: GraphemeClusterBreak -> GraphemeClusterBreak # pred :: GraphemeClusterBreak -> GraphemeClusterBreak # toEnum :: Int -> GraphemeClusterBreak # fromEnum :: GraphemeClusterBreak -> Int # enumFrom :: GraphemeClusterBreak -> [GraphemeClusterBreak] # enumFromThen :: GraphemeClusterBreak -> GraphemeClusterBreak -> [GraphemeClusterBreak] # enumFromTo :: GraphemeClusterBreak -> GraphemeClusterBreak -> [GraphemeClusterBreak] # enumFromThenTo :: GraphemeClusterBreak -> GraphemeClusterBreak -> GraphemeClusterBreak -> [GraphemeClusterBreak] #
Eq GraphemeClusterBreak # |
Methods (==) :: GraphemeClusterBreak -> GraphemeClusterBreak -> Bool # (/=) :: GraphemeClusterBreak -> GraphemeClusterBreak -> Bool #
Show GraphemeClusterBreak # |
Methods showsPrec :: Int -> GraphemeClusterBreak -> ShowS # show :: GraphemeClusterBreak -> String # showList :: [GraphemeClusterBreak] -> ShowS #
NFData GraphemeClusterBreak # |
Methods rnf :: GraphemeClusterBreak -> () #
Property GraphemeClusterBreak_ (Maybe GraphemeClusterBreak) # |
Methods fromNative :: GraphemeClusterBreak_ -> Int32 -> Maybe GraphemeClusterBreak toUProperty :: GraphemeClusterBreak_ -> UProperty

data LineBreak #

Constructors

Ambiguous |
LBAlphabetic |
BreakBoth |
BreakAfter |
BreakBefore |
MandatoryBreak |
ContingentBreak |
ClosePunctuation |
CombiningMark |
CarriageReturn |
Exclamation |
Glue |
LBHyphen |
LBIdeographic |
Inseparable |
InfixNumeric |
LineFeed |
Nonstarter |
Numeric |
OpenPunctuation |
PostfixNumeric |
PrefixNumeric |
Quotation |
ComplexContext |
LBSurrogate |
Space |
BreakSymbols |
Zwspace |
NextLine |
WordJoiner |
H2 |
H3 |
JL |
JT |
JV |

Instances

Enum LineBreak # |
Methods succ :: LineBreak -> LineBreak # pred :: LineBreak -> LineBreak # toEnum :: Int -> LineBreak # fromEnum :: LineBreak -> Int # enumFrom :: LineBreak -> [LineBreak] # enumFromThen :: LineBreak -> LineBreak -> [LineBreak] # enumFromTo :: LineBreak -> LineBreak -> [LineBreak] # enumFromThenTo :: LineBreak -> LineBreak -> LineBreak -> [LineBreak] #
Eq LineBreak # |
Methods (==) :: LineBreak -> LineBreak -> Bool # (/=) :: LineBreak -> LineBreak -> Bool #
Show LineBreak # |
Methods showsPrec :: Int -> LineBreak -> ShowS # show :: LineBreak -> String # showList :: [LineBreak] -> ShowS #
NFData LineBreak # |
Methods rnf :: LineBreak -> () #
Property LineBreak_ (Maybe LineBreak) # |
Methods fromNative :: LineBreak_ -> Int32 -> Maybe LineBreak toUProperty :: LineBreak_ -> UProperty

data SentenceBreak #

Constructors

SBATerm |
SBClose |
SBFormat |
SBLower |
SBNumeric |
SBOLetter |
SBSep |
SBSP |
SBSTerm |
SBUpper |
SBCR |
SBExtend |
SBLF |
SBSContinue |

Instances

Enum SentenceBreak # |
Methods succ :: SentenceBreak -> SentenceBreak # pred :: SentenceBreak -> SentenceBreak # toEnum :: Int -> SentenceBreak # fromEnum :: SentenceBreak -> Int # enumFrom :: SentenceBreak -> [SentenceBreak] # enumFromThen :: SentenceBreak -> SentenceBreak -> [SentenceBreak] # enumFromTo :: SentenceBreak -> SentenceBreak -> [SentenceBreak] # enumFromThenTo :: SentenceBreak -> SentenceBreak -> SentenceBreak -> [SentenceBreak] #
Eq SentenceBreak # |
Methods (==) :: SentenceBreak -> SentenceBreak -> Bool # (/=) :: SentenceBreak -> SentenceBreak -> Bool #
Show SentenceBreak # |
Methods showsPrec :: Int -> SentenceBreak -> ShowS # show :: SentenceBreak -> String # showList :: [SentenceBreak] -> ShowS #
NFData SentenceBreak # |
Methods rnf :: SentenceBreak -> () #
Property SentenceBreak_ (Maybe SentenceBreak) # |
Methods fromNative :: SentenceBreak_ -> Int32 -> Maybe SentenceBreak toUProperty :: SentenceBreak_ -> UProperty

data WordBreak #

Constructors

WBALetter |
WBFormat |
WBKatakana |
WBMidLetter |
WBMidNum |
WBNumeric |
WBExtendNumLet |
WBCR |
WBExtend |
WBLF |
WBMidNumLet |
WBNewline |

Instances

Enum WordBreak # |
Methods succ :: WordBreak -> WordBreak # pred :: WordBreak -> WordBreak # toEnum :: Int -> WordBreak # fromEnum :: WordBreak -> Int # enumFrom :: WordBreak -> [WordBreak] # enumFromThen :: WordBreak -> WordBreak -> [WordBreak] # enumFromTo :: WordBreak -> WordBreak -> [WordBreak] # enumFromThenTo :: WordBreak -> WordBreak -> WordBreak -> [WordBreak] #
Eq WordBreak # |
Methods (==) :: WordBreak -> WordBreak -> Bool # (/=) :: WordBreak -> WordBreak -> Bool #
Show WordBreak # |
Methods showsPrec :: Int -> WordBreak -> ShowS # show :: WordBreak -> String # showList :: [WordBreak] -> ShowS #
NFData WordBreak # |
Methods rnf :: WordBreak -> () #
Property WordBreak_ (Maybe WordBreak) # |
Methods fromNative :: WordBreak_ -> Int32 -> Maybe WordBreak toUProperty :: WordBreak_ -> UProperty

# Functions

blockCode :: Char -> BlockCode #

Return the Unicode allocation block that contains the given character.

charFullName :: Char -> String #

Return the full name of a Unicode character.

Compared to `charName`, this function gives each Unicode code point a unique extended name. Extended names are lowercase followed by an uppercase hexadecimal number, within angle brackets.

charName :: Char -> String #

Return the name of a Unicode character.

The names of all unassigned characters are empty.

The name contains only "invariant" characters like A-Z, 0-9, space, and '-'.

charFromFullName :: String -> Maybe Char #

Find a Unicode character by its full or extended name, and return its code point value.

The name is matched exactly and completely.

A Unicode 1.0 name is matched only if it differs from the modern name.

Compared to `charFromName`, this function gives each Unicode code point a unique extended name. Extended names are lowercase followed by an uppercase hexadecimal number, within angle brackets.

charFromName :: String -> Maybe Char #

Find a Unicode character by its full name, and return its code point value.

The name is matched exactly and completely.

A Unicode 1.0 name is matched only if it differs from the modern name. Unicode names are all uppercase.

combiningClass :: Char -> Int #

direction :: Char -> Direction #

Return the bidirectional category value for the code point, which is used in the Unicode bidirectional algorithm (UAX #9 http://www.unicode.org/reports/tr9/).

property :: Property p v => p -> Char -> v #

isMirrored :: Char -> Bool #

Determine whether the code point has the `BidiMirrored` property. This property is set for characters that are commonly used in Right-To-Left contexts and need to be displayed with a "mirrored" glyph.

mirror :: Char -> Char #

## Conversion to numbers

digitToInt :: Char -> Maybe Int #

Return the decimal digit value of a decimal digit character. Such characters have the general category `Nd` (decimal digit numbers) and a `NumericType` of `NTDecimal`.

No digit values are returned for any Han characters, because Han number characters are often used with a special Chinese-style number format (with characters for powers of 10 in between) instead of in decimal-positional notation. Unicode 4 explicitly assigns Han number characters a `NumericType` of `NTNumeric` instead of `NTDecimal`.

numericValue :: Char -> Maybe Double #

Return the numeric value for a Unicode code point as defined in the Unicode Character Database.

A `Double` return type is necessary because some numeric values are fractions, negative, or too large to fit in a fixed-width integral type.