MiniGUI uses a Uint32 value to store the type information of a character.
More...
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 6593 of file gdi.h.
◆ ACHAR_BASIC_CR
#define ACHAR_BASIC_CR 0x0800 |
Carriage Return
Definition at line 6603 of file gdi.h.
◆ ACHAR_BASIC_CTRL1
#define ACHAR_BASIC_CTRL1 0x0100 |
Control character (group 1)
Definition at line 6589 of file gdi.h.
◆ ACHAR_BASIC_CTRL2
#define ACHAR_BASIC_CTRL2 0x0900 |
Control character (group 2)
Definition at line 6605 of file gdi.h.
◆ ACHAR_BASIC_FF
#define ACHAR_BASIC_FF 0x0700 |
Form Feed
Definition at line 6601 of file gdi.h.
◆ ACHAR_BASIC_HT
#define ACHAR_BASIC_HT 0x0400 |
Horinzontal Tab
Definition at line 6595 of file gdi.h.
◆ ACHAR_BASIC_LF
#define ACHAR_BASIC_LF 0x0500 |
Line Feed
Definition at line 6597 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 6599 of file gdi.h.
◆ ACHAR_BASIC_ZEROWIDTH
#define ACHAR_BASIC_ZEROWIDTH 0x0B00 |
Zero width character
Definition at line 6609 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 6559 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 6573 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 6566 of file gdi.h.
◆ ACHARTYPE_UNKNOWN
#define ACHARTYPE_UNKNOWN 0 |
Unknown abstract character type.
Definition at line 6580 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 6795 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 6708 of file gdi.h.