7 #ifndef NAZARA_UNICODE_HPP 8 #define NAZARA_UNICODE_HPP 10 #include <Nazara/Prerequesites.hpp> 11 #include <Nazara/Core/Config.hpp> 25 enum Category : UInt16
28 Category_NoCategory = 0,
31 Category_Letter = 0x01,
32 Category_Letter_Lowercase = Category_Letter | 0x0100,
33 Category_Letter_Modifier = Category_Letter | 0x0200,
34 Category_Letter_Other = Category_Letter | 0x0400,
35 Category_Letter_Titlecase = Category_Letter | 0x0800,
36 Category_Letter_Uppercase = Category_Letter | 0x1000,
40 Category_Mark_Enclosing = Category_Mark | 0x100,
41 Category_Mark_NonSpacing = Category_Mark | 0x200,
42 Category_Mark_SpacingCombining = Category_Mark | 0x400,
45 Category_Number = 0x04,
46 Category_Number_DecimalDigit = Category_Number | 0x100,
47 Category_Number_Letter = Category_Number | 0x200,
48 Category_Number_Other = Category_Number | 0x400,
51 Category_Other = 0x08,
52 Category_Other_Control = Category_Other | 0x0100,
53 Category_Other_Format = Category_Other | 0x0200,
54 Category_Other_NotAssigned = Category_Other | 0x0400,
55 Category_Other_PrivateUse = Category_Other | 0x0800,
56 Category_Other_Surrogate = Category_Other | 0x1000,
59 Category_Punctuation = 0x10,
60 Category_Punctuation_Close = Category_Punctuation | 0x0100,
61 Category_Punctuation_Connector = Category_Punctuation | 0x0200,
62 Category_Punctuation_Dash = Category_Punctuation | 0x0400,
63 Category_Punctuation_FinalQuote = Category_Punctuation | 0x0800,
64 Category_Punctuation_InitialQuote = Category_Punctuation | 0x1000,
65 Category_Punctuation_Open = Category_Punctuation | 0x2000,
66 Category_Punctuation_Other = Category_Punctuation | 0x4000,
69 Category_Separator = 0x20,
70 Category_Separator_Line = Category_Separator | 0x0100,
71 Category_Separator_Paragraph = Category_Separator | 0x0200,
72 Category_Separator_Space = Category_Separator | 0x0400,
75 Category_Symbol = 0x40,
76 Category_Symbol_Currency = Category_Symbol | 0x0100,
77 Category_Symbol_Math = Category_Symbol | 0x0200,
78 Category_Symbol_Modifier = Category_Symbol | 0x0400,
79 Category_Symbol_Other = Category_Symbol | 0x0800
82 enum Direction : UInt8
84 Direction_Arabic_Letter,
85 Direction_Arabic_Number,
86 Direction_Boundary_Neutral,
87 Direction_Common_Separator,
88 Direction_European_Number,
89 Direction_European_Separator,
90 Direction_European_Terminator,
91 Direction_Left_To_Right,
92 Direction_Left_To_Right_Embedding,
93 Direction_Left_To_Right_Override,
94 Direction_Nonspacing_Mark,
95 Direction_Other_Neutral,
96 Direction_Paragraph_Separator,
97 Direction_Pop_Directional_Format,
98 Direction_Right_To_Left,
99 Direction_Right_To_Left_Embedding,
100 Direction_Right_To_Left_Override,
101 Direction_Segment_Separator,
102 Direction_White_Space
105 static Category GetCategory(char32_t character);
106 static Direction GetDirection(char32_t character);
107 static char32_t GetLowercase(char32_t character);
108 static char32_t GetTitlecase(char32_t character);
109 static char32_t GetUppercase(char32_t character);
113 #endif // NAZARA_UNICODE_HPP TODO: Inherit SoundEmitter from Node.
Definition: Algorithm.hpp:12
Core class that represents a Unicode character.
Definition: Unicode.hpp:15