MiniGUI uses a Uint32 value to store the type information of a character.
MiniGUI uses the lower 16-bit integer for the basic type of an abstract character. The definition macros have ACHAR_BASIC_ as the prefix.
For a UNICODE character, MiniGUI uses the high 16-bit for the general UNICODE character categories and the possible line break classifications. The low byte for the general category, and the high byte for the break class.
◆ ACHAR_BASIC_BEL
#define ACHAR_BASIC_BEL 0x0200 |
◆ ACHAR_BASIC_BS
#define ACHAR_BASIC_BS 0x0300 |
Backspace
Definition at line 5879 of file gdi.h.
◆ ACHAR_BASIC_CR
#define ACHAR_BASIC_CR 0x0800 |
Carriage Return
Definition at line 5889 of file gdi.h.
◆ ACHAR_BASIC_CTRL1
#define ACHAR_BASIC_CTRL1 0x0100 |
Control character (group 1)
Definition at line 5875 of file gdi.h.
◆ ACHAR_BASIC_CTRL2
#define ACHAR_BASIC_CTRL2 0x0900 |
Control character (group 2)
Definition at line 5891 of file gdi.h.
◆ ACHAR_BASIC_FF
#define ACHAR_BASIC_FF 0x0700 |
Form Feed
Definition at line 5887 of file gdi.h.
◆ ACHAR_BASIC_HT
#define ACHAR_BASIC_HT 0x0400 |
Horinzontal Tab
Definition at line 5881 of file gdi.h.
◆ ACHAR_BASIC_LF
#define ACHAR_BASIC_LF 0x0500 |
Line Feed
Definition at line 5883 of file gdi.h.
◆ ACHAR_BASIC_SPACE
#define ACHAR_BASIC_SPACE 0x0A00 |
◆ ACHAR_BASIC_VT
#define ACHAR_BASIC_VT 0x0600 |
Vertical Tab
Definition at line 5885 of file gdi.h.
◆ ACHAR_BASIC_ZEROWIDTH
#define ACHAR_BASIC_ZEROWIDTH 0x0B00 |
Zero width character
Definition at line 5895 of file gdi.h.
◆ ACHARTYPE_EXTRACT_BASIC
#define ACHARTYPE_EXTRACT_BASIC |
( |
|
t | ) |
(((t) & ACHARTYPE_BASIC_MASK)) |
Extract the basic type from an abstract character type.
Definition at line 5845 of file gdi.h.
◆ ACHARTYPE_EXTRACT_BREAK
#define ACHARTYPE_EXTRACT_BREAK |
( |
|
t | ) |
(((t) & ACHARTYPE_BREAK_MASK) >> 24) |
Extract the UNICODE break class from an abstract character type.
Definition at line 5859 of file gdi.h.
◆ ACHARTYPE_EXTRACT_CATEGORY
#define ACHARTYPE_EXTRACT_CATEGORY |
( |
|
t | ) |
(((t) & ACHARTYPE_CATEGORY_MASK) >> 16) |
Extract the UNICODE general category from an abstract character type.
Definition at line 5852 of file gdi.h.
◆ ACHARTYPE_UNKNOWN
#define ACHARTYPE_UNKNOWN 0 |
Unknown abstract character type.
Definition at line 5866 of file gdi.h.
◆ ScriptType
◆ UCharBreakType
UCharBreakType: The break type of a UNICODE character.
- UCHAR_BREAK_MANDATORY: Mandatory Break (BK)
- UCHAR_BREAK_CARRIAGE_RETURN: Carriage Return (CR)
- UCHAR_BREAK_LINE_FEED: Line Feed (LF)
- UCHAR_BREAK_COMBINING_MARK: Attached Characters and Combining Marks (CM)
- UCHAR_BREAK_SURROGATE: Surrogates (SG)
- UCHAR_BREAK_ZERO_WIDTH_SPACE: Zero Width Space (ZW)
- UCHAR_BREAK_INSEPARABLE: Inseparable (IN)
- UCHAR_BREAK_NON_BREAKING_GLUE: Non-breaking ("Glue") (GL)
- UCHAR_BREAK_CONTINGENT: Contingent Break Opportunity (CB)
- UCHAR_BREAK_SPACE: Space (SP)
- UCHAR_BREAK_AFTER: Break Opportunity After (BA)
- UCHAR_BREAK_BEFORE: Break Opportunity Before (BB)
- UCHAR_BREAK_BEFORE_AND_AFTER: Break Opportunity Before and After (B2)
- UCHAR_BREAK_HYPHEN: Hyphen (HY)
- UCHAR_BREAK_NON_STARTER: Nonstarter (NS)
- UCHAR_BREAK_OPEN_PUNCTUATION: Opening Punctuation (OP)
- UCHAR_BREAK_CLOSE_PUNCTUATION: Closing Punctuation (CL)
- UCHAR_BREAK_QUOTATION: Ambiguous Quotation (QU)
- UCHAR_BREAK_EXCLAMATION: Exclamation/Interrogation (EX)
- UCHAR_BREAK_IDEOGRAPHIC: Ideographic (ID)
- UCHAR_BREAK_NUMERIC: Numeric (NU)
- UCHAR_BREAK_INFIX_SEPARATOR: Infix Separator (Numeric) (IS)
- UCHAR_BREAK_SYMBOL: Symbols Allowing Break After (SY)
- UCHAR_BREAK_ALPHABETIC: Ordinary Alphabetic and Symbol Characters (AL)
- UCHAR_BREAK_PREFIX: Prefix (Numeric) (PR)
- UCHAR_BREAK_POSTFIX: Postfix (Numeric) (PO)
- UCHAR_BREAK_COMPLEX_CONTEXT: Complex Content Dependent (South East Asian) (SA)
- UCHAR_BREAK_AMBIGUOUS: Ambiguous (Alphabetic or Ideographic) (AI)
- UCHAR_BREAK_UNKNOWN: Unknown (XX)
- UCHAR_BREAK_NEXT_LINE: Next Line (NL)
- UCHAR_BREAK_WORD_JOINER: Word Joiner (WJ)
- UCHAR_BREAK_HANGUL_L_JAMO: Hangul L Jamo (JL)
- UCHAR_BREAK_HANGUL_V_JAMO: Hangul V Jamo (JV)
- UCHAR_BREAK_HANGUL_T_JAMO: Hangul T Jamo (JT)
- UCHAR_BREAK_HANGUL_LV_SYLLABLE: Hangul LV Syllable (H2)
- UCHAR_BREAK_HANGUL_LVT_SYLLABLE: Hangul LVT Syllable (H3)
- UCHAR_BREAK_CLOSE_PARANTHESIS: Closing Parenthesis (CP).
- UCHAR_BREAK_CONDITIONAL_JAPANESE_STARTER: Conditional Japanese Starter (CJ).
- UCHAR_BREAK_HEBREW_LETTER: Hebrew Letter (HL).
- UCHAR_BREAK_REGIONAL_INDICATOR: Regional Indicator (RI).
- UCHAR_BREAK_EMOJI_BASE: Emoji Base (EB).
- UCHAR_BREAK_EMOJI_MODIFIER: Emoji Modifier (EM).
- UCHAR_BREAK_ZERO_WIDTH_JOINER: Zero Width Joiner (ZWJ).
These are the possible line break classifications.
Since new unicode versions may add new types here, applications should be ready to handle unknown values. They may be regarded as UCHAR_BREAK_UNKNOWN.
See Unicode Line Breaking Algorithm.
Definition at line 6081 of file gdi.h.
◆ UCharGeneralCategory
UCharGeneralCategory: General category of a UNICODE character.
- UCHAR_CATEGORY_CONTROL: General category "Other, Control" (Cc)
- UCHAR_CATEGORY_FORMAT: General category "Other, Format" (Cf)
- UCHAR_CATEGORY_UNASSIGNED: General category "Other, Not Assigned" (Cn)
- UCHAR_CATEGORY_PRIVATE_USE: General category "Other, Private Use" (Co)
- UCHAR_CATEGORY_SURROGATE: General category "Other, Surrogate" (Cs)
- UCHAR_CATEGORY_LOWERCASE_LETTER: General category "Letter, Lowercase" (Ll)
- UCHAR_CATEGORY_MODIFIER_LETTER: General category "Letter, Modifier" (Lm)
- UCHAR_CATEGORY_OTHER_LETTER: General category "Letter, Other" (Lo)
- UCHAR_CATEGORY_TITLECASE_LETTER: General category "Letter, Titlecase" (Lt)
- UCHAR_CATEGORY_UPPERCASE_LETTER: General category "Letter, Uppercase" (Lu)
- UCHAR_CATEGORY_SPACING_MARK: General category "Mark, Spacing" (Mc)
- UCHAR_CATEGORY_ENCLOSING_MARK: General category "Mark, Enclosing" (Me)
- UCHAR_CATEGORY_NON_SPACING_MARK: General category "Mark, Nonspacing" (Mn)
- UCHAR_CATEGORY_DECIMAL_NUMBER: General category "Number, Decimal Digit" (Nd)
- UCHAR_CATEGORY_LETTER_NUMBER: General category "Number, Letter" (Nl)
- UCHAR_CATEGORY_OTHER_NUMBER: General category "Number, Other" (No)
- UCHAR_CATEGORY_CONNECT_PUNCTUATION: General category "Punctuation, Connector" (Pc)
- UCHAR_CATEGORY_DASH_PUNCTUATION: General category "Punctuation, Dash" (Pd)
- UCHAR_CATEGORY_CLOSE_PUNCTUATION: General category "Punctuation, Close" (Pe)
- UCHAR_CATEGORY_FINAL_PUNCTUATION: General category "Punctuation, Final quote" (Pf)
- UCHAR_CATEGORY_INITIAL_PUNCTUATION: General category "Punctuation, Initial quote" (Pi)
- UCHAR_CATEGORY_OTHER_PUNCTUATION: General category "Punctuation, Other" (Po)
- UCHAR_CATEGORY_OPEN_PUNCTUATION: General category "Punctuation, Open" (Ps)
- UCHAR_CATEGORY_CURRENCY_SYMBOL: General category "Symbol, Currency" (Sc)
- UCHAR_CATEGORY_MODIFIER_SYMBOL: General category "Symbol, Modifier" (Sk)
- UCHAR_CATEGORY_MATH_SYMBOL: General category "Symbol, Math" (Sm)
- UCHAR_CATEGORY_OTHER_SYMBOL: General category "Symbol, Other" (So)
- UCHAR_CATEGORY_LINE_SEPARATOR: General category "Separator, Line" (Zl)
- UCHAR_CATEGORY_PARAGRAPH_SEPARATOR: General category "Separator, Paragraph" (Zp)
- UCHAR_CATEGORY_SPACE_SEPARATOR: General category "Separator, Space" (Zs)
These are the possible character classifications from the Unicode specification. See Unicode Character Database.
Definition at line 5994 of file gdi.h.