This module provides common characters properties: category class, canonical combining class, bidirectional class and quick check (QC)
Types
- UnicodeCategorySet = distinct int32 
- A set of UnicodeCategory elements
- UnicodeProp = enum upropCat, upropCcc, upropBi, upropQc 
- A type for getting a single property from the Props type
- UnicodeProps = array[UnicodeProp, int32] 
- A type holding all common properties for a character. Use UnicodeProp to get one of them. It contains raw data for some of them.
Procs
- proc contains(a: UnicodeCategorySet; b: UnicodeCategory): bool {...}{.inline, raises: [], tags: [].} 
- 
Check if the given category is within the categories.assert Rune(0x0097).unicodeCategory() in ctgL 
- proc `+`(a: UnicodeCategorySet; b: UnicodeCategory): UnicodeCategorySet {...}{.inline, raises: [], tags: [].} 
- proc `+`(a: UnicodeCategory; b: UnicodeCategorySet): UnicodeCategorySet {...}{.inline, raises: [], tags: [].} 
- proc `+`(a, b: UnicodeCategorySet): UnicodeCategorySet {...}{.inline, raises: [], tags: [].} 
- proc `+`(a, b: UnicodeCategory): UnicodeCategorySet {...}{.inline, raises: [], tags: [].} 
- proc `==`(a, b: UnicodeCategory): bool {...}{.inline, raises: [], tags: [].} 
- proc categorySetMap(s: string): UnicodeCategorySet {...}{.raises: [ValueError], tags: [].} 
- Map category string to UnicodeCategorySet. Raise ValueError if there's no match
- proc categoryMap(s: string): UnicodeCategory {...}{.raises: [ValueError], tags: [].} 
- Map category string to UnicodeCategory. Raise ValueError if there's no match
- proc properties(cp: Rune): UnicodeProps {...}{.raises: [], tags: [].} 
- Return properties for a given code point. Includes: Category, Canonical Combining Class, Bidi Class and QC. This may be used as an optimization when more than one property is required. This contains raw data for some of the properties, so one of the auxiliary procedures must be used in conjuntion.
- proc unicodeCategory(props: UnicodeProps): UnicodeCategory {...}{.inline, raises: [], tags: [].} 
- Return category for a given UnicodeProps
- proc unicodeCategory(cp: Rune): UnicodeCategory {...}{.raises: [], tags: [].} 
- Return category for a given code point
- proc bidirectional(props: UnicodeProps): string {...}{.inline, raises: [], tags: [].} 
- Return bidirectional class name for a given UnicodeProps
- proc bidirectional(cp: Rune): string {...}{.raises: [], tags: [].} 
- Return bidirectional class name for a given code point
- proc combining(props: UnicodeProps): int {...}{.inline, raises: [], tags: [].} 
- Return canonical combining class property for a given Props
- proc combining(cp: Rune): int {...}{.raises: [], tags: [].} 
- Return canonical combining class property for a given code point
- proc quickCheck(props: UnicodeProps): int {...}{.inline, raises: [], tags: [].} 
- Return quick check property for a given UnicodeProps
- proc quickCheck(cp: Rune): int {...}{.raises: [], tags: [].} 
- Return quick check property
- proc contains(qc: int; m: NfMask): bool {...}{.inline, raises: [], tags: [].} 
- 
Check if the given NF mask is within the quick-check values.assert nfcQcNo in Rune(0x0374).quickCheck()