Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

The following table lists the Unicode properties as described here, along with the corresponding Unicode.Scalar.Properties property and type, if implemented.

Unicode Property Unicode.Scalar.Properties Type
General
Name name String?
Name_Alias nameAlias String?
Block
Age age Unicode.Version?
General_Category generalCategory Unicode.GeneralCategory
Script
Script_Extensions
White_Space isWhitespace Bool
Alphabetic isAlphabetic Bool
Hangul_Syllable_Type
Noncharacter_Code_Point isNoncharacterCodePoint Bool
Default_Ignorable_Code_Point isDefaultIgnorableCodePoint
Deprecated isDeprecated Bool
Logical_Order_Exception isLogicalOrderException Bool
Variation_Selector isVariationSelector Bool

Numeric
Numeric_Value numericValue Double?
Numeric_Type numericType Unicode.NumericType
Hex_Digit isHexDigit Bool
ASCII_Hex_Digit isASCIIHexDigit Bool

Identifiers
ID_Continue isIDContinue Bool
ID_Start isIDStart Bool
XID_Continue isXIDContinue Bool
XID_Start isXIDStart Bool
Pattern_Syntax isPatternSyntax Bool
Pattern_White_Space isPatternWhitespace Bool
Identifier_Status
Identifier_Type

CJK
Ideographic isIdeographic Bool
Unified_Ideograph isUnifiedIdeograph Bool
Radical isRadical Bool
IDS_Binary_Operator isIDSBinaryOperator Bool
IDS_Trinary_Operator isIDSTrinaryOperator Bool
Unicode_Radical_Stroke
Equivalent_Unified_Ideograph

Case
Uppercase isUppercase Bool
Lowercase isLowercase Bool
Lowercase_Mapping lowercaseMapping String
Titlecase_Mapping titlecaseMapping String
Uppercase_Mapping uppercaseMapping String
Case_Folding
Simple_Lowercase_Mapping in lowercaseMapping
Simple_Titlecase_Mapping in titlecaseMapping
Simple_Uppercase_Mapping in uppercaseMapping
Simple_Case_Folding
Soft_Dotted isSoftDotted Bool
Cased isCased Bool
Case_Ignorable isCaseIgnorable Bool
Changes_When_Lowercased changesWhenLowercased Bool
Changes_When_Uppercased changesWhenUppercased Bool
Changes_When_Titlecased changesWhenTitlecased Bool
Changes_When_Casefolded changesWhenCaseFolded Bool
Changes_When_Casemapped changesWhenCaseMapped Bool

Normalization
Canonical_Combining_Class canonicalCombiningClass Unicode.CanonicalCombiningClass
Decomposition_Mapping
Composition_Exclusion
Full_Composition_Exclusion isFullCompositionExclusion Bool
Decomposition_Type
NFC_Quick_Check
NFKC_Quick_Check
NFD_Quick_Check
NFKD_Quick_Check
NFKC_Casefold
Changes_When_NFKC_Casefolded changesWhenNFKCCaseFolded Bool

Emoji
Emoji isEmoji Bool
Emoji_Presentation isEmojiPresentation Bool
Emoji_Modifier isEmojiModifier Bool
Emoji_Modifier_Base isEmojiModifierBase Bool
Emoji_Component
Extended_Pictographic
Basic_Emoji*
RGI_Emoji_Modifier_Sequence*
RGI_Emoji_Tag_Sequence*
RGI_Emoli_ZWJ_Sequence*
RGI_Emoji*

Shaping and Rendering
Join_Control isJoinControl Bool
Joining_Group
Joining_Type
Vertical_Orientation
East_Asian_Width
Prepended_Concatenation_Mark

Segmentation
Line_Break
Grapheme_Cluster_Break
Sentence_Break
Word_Break

Bidirectional
Bidi_Class
Bidi_Control isBidiControl Bool
Bidi_Mirrored isBidiMirrored Bool
Bidi_Mirroring_Glyph
Bidi_Paired_Bracket
Bidi_Paired_Bracket_Type

Miscellaneous
Math isMath Bool
Quotation_Mark isQuotationMark Bool
Dash isDash Bool
Sentence_Terminal isSentenceTerminal Bool
Terminal_Punctuation isTerminalPunctuation Bool
Diacritic isDiacritic Bool
Extender isExtender Bool
Grapheme_Base isGraphemeBase Bool
Grapheme_Extend isGraphemeExtend Bool
Unicode_1_Name
Regional_Indicator
Indic_Positional_Category
Indic_Syllabic_Category

Contributory Properties
Other_Alphabetic in isAlphabetic
Other_Default_Ignorable_Code_Point in isDefaultIgnorable...
Other_Grapheme_Extend in isGraphemeExtend
Other_ID_Start in isIDStart
Other_ID_Continue in isIDContinue
Other_Lowercase in isLowercase
Other_Math in isMath
Other_Uppercase in isUppercase
Jamo_Short_Name
@xwu
Copy link

xwu commented Oct 21, 2021

Nit: isIdeographic and friends missing their Bool types in the table.

@Azoy
Copy link

Azoy commented Oct 21, 2021

The Other_* properties are all found within their respectful non-other property. For example: a scalar who is Other_Alphabetic will return true for isAlphabetic.

@natecook1000
Copy link
Author

natecook1000 commented Oct 22, 2021

@Azoy & @xwu — Thanks, updated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment